package com.ruoyi.yljf.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.domain.vo.SysDictDataVO;
import com.ruoyi.yljf.domain.Course;
import com.ruoyi.yljf.domain.dto.CourseDTO;
import com.ruoyi.yljf.domain.dto.WelfareAreaQueryDTO;
import com.ruoyi.yljf.domain.vo.CourseDetailVO;
import com.ruoyi.yljf.domain.vo.HomeCourseVO;
import com.ruoyi.yljf.domain.vo.CourseTypeVO;

import javax.servlet.http.HttpServletRequest;

/**
 * 课程Service接口
 * 
 * @author TC
 * @date 2025-02-19
 */
public interface ICourseService extends IService<Course> {
    /**
     * 查询课程列表
     * 
     * @param course 课程
     * @return 课程集合
     */
    public List<Course> selectCourseList(Course course);

    /**
     * 客户端接口
     * @return
     */
    List<HomeCourseVO> queryCourseList(CourseDTO courseDTO);


    List<HomeCourseVO> QueryHomeCourseList(List<Course> list);


    /**
     * 公益专区根据类型查询
     * @param
     * @return
     */
    List<Course> queryCourseList(WelfareAreaQueryDTO dto);

    CourseDetailVO queryById(Long id, HttpServletRequest request);

    List<CourseTypeVO> getSiftCourse(List<SysDictDataVO> secondaryType);

    CourseTypeVO queryPrimaryCourse();

    List queryWelfareAreaType();

    List queryWelfareAreaTypeV2();

    CourseTypeVO queryStarCourse();

    List<HomeCourseVO> queryStarList();
    List<Course> queryCourseList1(CourseDTO courseDTO);
}
